import JscSelectSearch from '../../src/js/selectSearch.js';

export default class JscSelectTest extends JscSelectSearch {

    constructor() {
        super();
    }

    async fetchSpecialItem(val) {
        if ('0' == val) {
            return [{
                'label': '########',
                'value': '0',
                'data': { 'a': 0, 'b': '########' }
            }]
        } else if ('99' == val) {
            return [{
                'label': '$$$$$$$$',
                'value': 99,
                'data': { 'a': 99, 'b': '$$$$$$$$' }
            }]

        } else {
            return [{
                'label': '########',
                'value': '0',
                'data': { 'a': 0, 'b': '########' }
            }, {
                'label': '$$$$$$$$',
                'value': 99,
                'data': { 'a': 99, 'b': '$$$$$$$$' }
            }]
        }
    }

    async fetchSearchItems(val) {
        if ('0' == val) {
            return [];
        } else {
            let rnd = Math.floor(Math.random() * 100);
            return [{
                'label': 'AAAAA' + rnd,
                'value': 1,
                'data': { 'a': 1, 'b': 'AAAAA' + rnd }
            }, {
                'label': 'BBBBB' + rnd,
                'value': 2,
                'data': { 'a': 2, 'b': 'BBBBB' + rnd }
            }, {
                'label': 'CCCCC' + rnd,
                'value': 3,
                'data': { 'a': 3, 'b': 'CCCCC' + rnd }
            }, {
                'label': 'DDDDD' + rnd,
                'value': 4,
                'data': { 'a': 4, 'b': 'DDDDD' + rnd }
            }, {
                'label': 'EEEEE' + rnd,
                'value': 5,
                'data': { 'a': 5, 'b': 'EEEEE' + rnd }
            }, {
                'label': 'FFFFF' + rnd,
                'value': 6,
                'data': { 'a': 6, 'b': 'FFFFF' + rnd }
            }, {
                'label': 'GGGGG' + rnd,
                'value': 7,
                'data': { 'a': 7, 'b': 'GGGGG' + rnd }
            }, {
                'label': 'HHHHH' + rnd,
                'value': 8,
                'data': { 'a': 8, 'b': 'HHHHH' + rnd }
            }, {
                'label': 'IIIII' + rnd,
                'value': 9,
                'data': { 'a': 9, 'b': 'IIIII' + rnd }
            }, {
                'label': 'JJJJJ' + rnd,
                'value': 10,
                'data': { 'a': 10, 'b': 'JJJJJ' + rnd }
            }, {
                'label': 'KKKKK' + rnd,
                'value': 11,
                'data': { 'a': 11, 'b': 'KKKKK' + rnd }
            }, {
                'label': 'LLLLL' + rnd,
                'value': 12,
                'data': { 'a': 12, 'b': 'LLLLL' + rnd }
            }];
        }
    }
}

if (!customElements.get('jsc-select-test')) {
    window.customElements.define("jsc-select-test", JscSelectTest);
}